Port amd64 SIMD libc optimizations to riscv64

Project description

The goal of the project is to port the SIMD optimized routines written for amd64 to riscv64. This will be accomplished using SWAR techniques. Because the code will only depend on the base integer ISA, the optimizations will result in a performance increase on all riscv64 systems.

Deliverables

In no particular order, the functions that will be implemented in RISC-V assembly:

[1] Need to be implemented to run in constant time

The following libc functions will also benefit from the assembly rewrite:

Milestones

(TODO: More info)

Test Plan

Code will be tested using the available FreeBSD tests on a RISC-V development board (HF105-000). Additional tests will be written if needed. Performance will be measured using strperf (https://github.com/clausecker/strperf).

The Code

https://github.com/strajabot/freebsd-src

Notes

I will posting updates on my blog while I work on the project (https://strajabot.com)

(Lorem ipsum dolor sit amet)

https://graphics.stanford.edu/~seander/bithacks.html

SummerOfCode2024Projects/PortAmd64SIMDLibcOptimizationsToRiscv64 (last edited 2024-05-18T21:47:18+0000 by StrahinjaStanisic)